【小ネタ】[AWS IoT] デバイスで使用中の証明書をレジストリの一覧から検索する方法
1 はじめに
CX事業本部の平内(SIN)です。
AWS IoTでは、証明書で認証してMQTTのPub/Subが簡単に実装可能です。
このようなシステムを、久々に動かそうとして、「接続(Connect)できない!」となった時は、デバイス側で使用されている「証明書」が有効であり、かつ、「ポリシー」の内容が適切であるかの確認が必要になります。
「ポリシー」は、「証明書」に紐づくため、使用されている「証明書」が何であるのか?そして、その証明書がIoT Core のレジストリで「アクティブ」となっているかの確認が、最初の作業となります。
今回は、この要領を確認してみました。
2 証明書
AWS Iotのコンソールから証明書を開くと、管理されている証明書が一覧されます。 そして、ステータス欄で、アクティブとなっている証明書だけが有効なものです。
ここで一覧されている名前は、証明書のSHA256フィンガープリントです。
「モノ」を作成するときに、(推奨)となっている、1-Click 証明書の作成で証明書を作成した場合、ダウンロードできる証明書や秘密鍵は、ファイル名がフィンガープリントの初めの10文字となっているので、このままのファイル名でデバイス側で使用している場合は、ファイル名から捜索することが可能です。
3 フィンガープリント
もし、何らかの理由でファイル名を変更して使用していたり、そもそも、別の手段で証明書を生成している場合は、証明書のSHA256フィンガープリントを確認する必要があります。
※下記の2つの例は、どちらも、ファイル名を変更していませんが、ファイル名を変更していても確認は可能です。
(1) Mac
Mac上であれば、証明書をダブルクリックして、証明書を表示とすれば、SHA-256のところで確認できます。
(2) RaspberryPI
RaspberryPi上などで確認したい場合は、opensslコマンドが利用可能です。
$ openssl x509 -in 92626c4e69-certificate.pem.crt -noout -sha256 -fingerprint SHA256 Fingerprint=92:62:6C:4E:69:68:16:5A:9A:65:9F:E6:E4:C1:F0:11:37:58:07:90:E0:BC:13:00:85:E2:90:F7:FE:62:E2:A9
4 ポリシー
当該証明書が、一覧の中から検索できれば、そこから、紐付いている「ポリシー」や「モノ」が分かります。
5 最後に
今回は、証明書のフィンガープリントから、レジストリでの管理状況や、紐付いている「モノ」や「ポリシー」を見つける要領を確認してみました。
久々に起動して、Connectしないと悲しいですよね・・・